package jsyf.oa.facade.wreport;

import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * Created by Administrator on 2017/12/29 0029.
 */
@Path("/wReportCostService")
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
@Produces({ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
public interface WReportCostFacade {
    @Path("/config")
    boolean config(String costIds, Integer start);

    @Path("/getByUserIdAndReport")
    List<JSONObject> getByUserIdAndReport(String userId, String reportDate);

    @Path("/getByDepartIdAndReport")
    List<JSONObject> getByDepartIdAndReport(String departId, String reportDate);

    @Path("/getByCondition")
    List<JSONObject> getByCondition(String userId, String beginTime, String endTime, String costIds, String
            type);

    @Path("/save")
    String save(String jsonData);

    @Path("/applyAudit")
    Boolean applyAudit(String id, String userId, String auditFlag, String advise);

    @Path("/removeById")
    Boolean removeById(String id);

    @Path("/getUnDoCount")
    String getUnDoCount(String userId);

    @Path("/getById")
    JSONObject getById(String id);

    @Path("/getBxByPage")
    JSONObject getBxByPage(String jaonData);

    @Path("/copierReturn")
    Boolean copierReturn(String id, String copierReturnReason);

    @Path("/getCosterTop10ByCostName")
    List<JSONObject> getCosterTop10ByCostName(String jsonData);

    @Path("/getByPage")
    JSONObject getByPage(String userId, String key, String auditFlag, String costSmallName, String createUserName, int requestPage, int pageSize);

    @Path("/getAllAutitPage")
    JSONObject getAllAutitPage(String userId, String key, String auditFlag, String type, String createUserName, String pageType, int requestPage, int pageSize, String flag);

    @Path("/getCostSmallNameList")
    List<JSONObject> getCostSmallNameList();

    @Path("/getLastCost")
    JSONObject getLastCost(String userId, String costType, String createTime);
}
